home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
106 - Proboard KEY Floppy - Must be in Drive 1.dsk
/
SWORD2.SEGS.SHK
/
SWORDS.2.MAIN.S
< prev
Wrap
Text File
|
1989-01-26
|
23KB
|
671 lines
; _________________________________________________________________________
; [_ _]
; _] Swords & Sorcery II -- The Journey Goes Onward [_
; [_ _]
; _] by Rubber Duck, @1987 [_
; [______________________ ________________________]
; _] The ] DuckNet [ BBS [_
; [_ (405)-355-9678 _]
; _] 300/1200/2400 24hrs [_
; [_____________________________]
; NOTE: Swords & Sorcery II is NOT a Public Domain program. It is SHAREWARE.
; You may copy and distribute S&S II freely, as long as you leave this
; notice intact. The ShareWare fee for S&S II is --> $0.00 <--, but I
; do require that you register your copy. Send a postcard with your
; name, your handle/alias (if any), your BBS name, phone number, baud,
; hours, version of ACOS, whether or not you have the original Swords
; and Sorcery on your system, and any comments/suggestions/questions.
; Send this to: Rubber Duck, 4812 NE Winfield Cir, Lawton, OK, 73507.
; At last, lovers of might and magic, the sequel to Swords & Sorcery. S&S II
; provides an expanded and enhanced world for S&S players. Many more options,
; much more detail and character individuality are here. S&S II also supports
; the one-key options that are now the GBBS standard with version 1.3.
; NOTES ABOUT THIS VERSION: Swords & Sorcery II v2.0 (SWORD2.V2.0.BNY)
; This is the first OFFICIAL RELEASE version of S&S II. This is NOT A BETA-
; TEST version, it is a COMPLETE game with an ULTIMATE GOAL. Hopefully this
; is the first and LAST version of this program I'll have to put out. I hate
; those nasty, creepy, crawly BUGS!
; Thanks to Everyone who registered their Beta-Test copies of S&S II
; Special Thanks to /steve schneider of The RainForest BBS for playtesting,
; betatesting, debugging, putting up with hassle and writing fixes. Steve,
; your assistance and support are both priceless. . . thanks.
; To install Swords & Sorcery II on your system:
; 1) Copy the files SWORDS.2.MAIN.S, SWORDS.2.AUX.S and SWORDS.2.AUX2.S to
; your A2: drivespec.
; 2) Add this line to your system:
; if i$="S2" then link "a2:swords.2.main"
; 3) Change the link.back routine to suit your system.
; 4) S&S II writes three files, S2.LOG, S2.LAST.PLAYER, and S2.WINNERS to
; the b4: drivespec. Change this to suit your system.
; 5) You are ready to go!
; Swords & Sorcery II -- Main Seg
; Professional BBS Custom Edition version 2.0jpe 01/19/89
public return
public dead
public exit2
on nocar goto link.term
goto start
link.back
recall "h:var"
link "a:main.seg","game.list"
link.term
recall "h:var"
link "a:main.seg","term1"
return
on nocar goto link.term
free:return
start
print \"Please wait..."
store "h:var":clear:recall "h:var"
hp=30:xp=0:wp=0:wp$="":sh=0:sh$="":po=0:po$="":s1=0:s2=0:s3=0
s1$="":s2$="":s3$="":gp=random(300)/10:sg$="":st=random(8)+2:x$=rnd$
ps=random(8)+2:x$=rnd$:lu=random(8)+2:x$=rnd$:x=random(7):if x=1 sg$="CURUS"
if x=2 sg$="ROMULUS" :else if x=3 sg$="CENTURIUS"
if x=4 sg$="SABATHON":else if x=5 sg$="GRATHUS"
if x=6 sg$="SUBARUS" :else if x=7 sg$="SCHAEFERIUS"
pr=0:ky=0:ln=0:dr=0:wm=0
print chr$(12):setint(" "):print \\sn$' presents...
___________________________________
[_ _]
_] Swords & Sorcery II [_
[_ _]
_] The Sorcerors [_
[_ _]
_] Journey Goes Onward! [_
[___________________________________]
You have set out to seek your fortune
in a world of Swords and Sorcery!'
setint(""):close
create "b4:s2.last.player"
open #1,"b4:s2.last.player"
input #1,x$,x,y,z
close
; remove semi-colon below to lock-out last player
; if x$=a1$+" "+a2$ print '
Sorry, you must wait until another adventurer hath played.':goto link.back
print \"The last adventurer was "x$","\"who ";
if y<1 print "was killed";:else print "finished";
print " with "z" gold and "x" experience."
goto main
maincmds
setint(" "):print '
_____________________________
[_ _]
_] J)ourney Onward [_
[_ I)nventory List _]
_] C)ast a Spell [_
[_ D)rink a Potion _]
_] Q)uit this Game [_
[_ _]
_] H)all of Heroes [_
[_____________________________]'\:setint("")
main
free:push main
if hp<1 goto dead
gosub adjust.char
print \"Your Command? ";:get i$
if instr(i$,"qihdcj")<>0 print chr$(8);i$;
if i$="h" or i$="H" print "all of Heroes":goto hall
if i$="q" or i$="Q" print "uit":goto exit
if i$="i" or i$="I" print "nventory":goto inventory
if i$="d" or i$="D" print "rink a Potion":goto drink.potion
if i$="c" or i$="C" print "ast a Spell":goto cast.spell
if i$="j" or i$="J" print "ourney onward...":goto onward
if i$="t" or i$="T" print "own...":goto towne
if i$="?" or i$="/" pop:goto maincmds
if i$="" or i$=chr$(13) then i$="<CR>"
print chr$(8);" "\\"Sorry, "chr$(34);i$;chr$(34)" is not a command.":return
onward
x$=rnd$:x=random(10000) mod 50:x=x+1:x=x+(lu/5):if x>50 then x=50
if (gp>100) then y=random(999) mod 6:if y=0 then x=2
; *** main jump table ***
if x<=1 goto lightning
if x<=2 goto gremlins
if x<=4 goto tax.collector
if x<=6 goto goblins
if x<=8 goto satyrs
if x<=11 goto lg.monster
if x<=13 goto sm.monster
if x<=15 goto pit
if x<=17 goto night
if x<=19 goto crypt
if x<=23 goto cave
if x<=25 goto obelisk
if x<=27 goto find.weapon
if x<=29 goto find.shield
if x<=31 goto find.magic
if x<=33 goto find.potion
if x<=36 goto find.scroll
if x<=38 goto find.gold
if x<=40 goto find.woman
if x<=42 goto find.dryad
if x<=44 goto find.lantern
if x<=45 goto find.key
if x<=47 goto towne
if x<=49 goto castle
if x<=50 goto tower
; *** exit points
exit
clear key:print \"Are you sure you want to quit? ";:get i$
if i$="Y" then print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" return:else pop
print \"You finish your quest with "xp" experience."
exit2
create "b4:s2.last.player":close
open #1,"b4:s2.last.player"
print #1,a1$" "a2$,xp,hp,gp:close
create "b4:s2.log":open #1,"b4:s2.log":append #1
x$=left$(a1$+" "+a2$+" ",25)
x1$=right$(" "+str$(xp),3):x2$=right$(" "+str$(hp),3)
x3$=right$(" "+str$(gp),3)
print #1,x$": "x1$" xp, "x2$" hp, "x3$" gp on "da$" at "time$:close
print \"Thanks for playing, "a1$" "a2$"!!"
print \"Swords & Sorcery II by Rubber Duck, 1987"
goto link.back
dead
pop:setint(" "):print '
_
__| |__
|__ __|
| |
____| |____
/ \
| Rest In |
| Peace |
|_____________|'
setint("")
print \"You died with "xp" experience."
goto exit2
; adjust characteristics
adjust.char
x=random(999):x=x mod 6:if x<>0 goto adjust.2
if lu<4 then lu=lu+1
if lu>7 then lu=lu-1
adjust.2
x=random(999):x=x mod 6:if x<>0 goto adjust.3
if st<4 then st=st+1
if st>7 then st=st-1
adjust.3
x=random(999):x=x mod 6:if x<>0 return
if ps<4 then ps=ps+1
if ps>7 then ps=ps-1
return
; *** sub-routines for jump table ***
lightning
print \"You are struck by lightning!";
if wp$="Enchanted Sword" print \"Your "wp$" absorbs the shock!!":return
x=random(20):if x>lu then hp=0:print " Ouch!":return
print \"You're still alive! What luck!"
if hp>11 then hp=hp-10:else hp=1
return
gremlins
gosub random:x=x+(lu/2)
print \"Oh, no! Gremlins!"chr$(7)
if x>13 print "What luck! You escaped them!":xp=xp+5:return
if gp>9 gp=gp-10:print "They've stolen your gold!"chr$(7)
if (x<=9) and (wp) print "They've stolen your "wp$"!"chr$(7):wp$="":wp=0
if (x<=7) and (sh) print "They've stolen your "sh$"!"chr$(7):sh$="":sh=0
if (x<=5) and (ln) print "They've stolen your lantern!"chr$(7):ln=0
if (x<=3) and (ky) print "They've stolen your golden key!"chr$(7):ky=0
if (x<=1) and (dr) print "They've kidnapped the Dryad!"chr$(7):dr=0
if (x<=0) and (pr) print "They've kidnapped the Princess!"chr$(7):dr=0
return
tax.collector
gosub random:y=x:gosub random:y=y+x:y=y+5
print \"Oh no, the Tax Collector!"
print \"He demands "y" gold. Will you pay? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" goto tax.2
if y>gp print \"What? Not enough gold!":goto tax.2
gp=gp-y:print \"He smiles as he takes your gold and leaves.":return
tax.2
print \"I'll take this tax out of your hide, fool!"
mn$="Tax Collector":mp=20:md=7:mx=20:gosub battle
if mp<1 then gosub find.gold:gosub find.gold:gosub find.gold
if mp<1 print \"My, wasn't he loaded?"
return
goblins
print \"You are captured by goblins!"
if (wm+pr+dr)=0 goto goblins2
print \"They will free you in exchange for your women."
print "Do you agree to this? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" goto goblins2:else print
wm=0:print "The women scream as they are taken!":pr=0
if (dr) goto dryad.offended
goblins2
gosub random:x=x+lu
if x>16 print \"They leave you to your fate.":return
if ((gp<5) and (x<=4)) print \"You are sold to the satyrs.":goto satyrs1
if gp<5 print \"They force you to fight their Cheiftain!"
if gp<5 mn$="Goblin Cheiftain":mp=15:mx=15:md=5:gosub battle:return
x=random(100):x=x/5:if x>gp then x=gp
print \"They take "x" bags of gold and free you.":gp=gp-x:return
satyrs
print \"You are captured by satyrs."
satyrs1
gosub random:if x<=3 goto satyrs2
print \"They will free you if you speak the name of their god."
input "-->" i$:if i$<>sg$ print "Wrong!! ";:goto satyrs2
print \"You are correct! The satyrs, defeated, let you go.":xp=xp+5:return
satyrs2
print "You are to be sacrificed to their god, "sg$"!"
print "They bring forth their Champion to battle you..."
print \"(F)ight him or (B)eg for freedom? ";:get i$
if i$="B" print chr$(8);"Beg":else print chr$(8);"Fight"
if ((i$="B") and (dr)) gosub dryad.offended
if i$="B" print "The satyrs scoff at your begging!":xp=xp-2
mn$="Satyr Champion":mp=18:mx=18:md=6:gosub battle:return
lg.monster
x$=rnd$:x=random(5):x=x+(lu/5):mn$=""
if x<=1 mn$="Skeleton": mp=11:mx=11:md=6
if x=2 mn$="Giant Cobra":mp=6: mx=12:md=7
if x=3 mn$="Troll": mp=10:mx=10:md=5
if x=4 mn$="Wolverine": mp=8: mx=8: md=5
if x=5 mn$="Wild Dog": mp=6: mx=6: md=4
if mn$<>"" print \"Oh, no! You are attacked by a "mn$"!":gosub battle:return
goto sm.monster
sm.monster
x$=rnd$:x=random(100):x=x mod 6
if x<=1 mn$="a rabid rat!"
if x=2 mn$="a snake!"
if x=3 mn$="a large spider!"
if x=4 mn$="a giant scorpion!"
if x=5 mn$="strangle vines!"
print \"Oh, no! You are attacked by "mn$
if (x<=4) and (wp>=5) print \"You kill it with your "wp$"!":xp=xp+5:return
if (x<=4) and (wp) print \"You manage to kill it, barely.":xp=xp+3:return
if (x<=4) and (sh) print \"You fend it off with your "sh$".":xp=xp+3:return
if (x<=4) print \"You are wounded by the creature!":hp=hp-2:if hp<1 hp=1
if (x<=4) return
if (wp) print \"You fend them off with your "wp$"!":xp=xp+5:return
print \"Choke! They strangle you viciously!":hp=hp-3:if hp<1 hp=1
return
pit
print \"Oh, no! A pit!!":gosub random:x=x+lu:y=0
if x>=9 print \"You avoided it, lucky devil!":xp=xp+5:return
print \"Ahhhhh!! Plunk!! Ouch!":if hp>2 then hp=hp-3:gosub hurt.rest
gosub random
if x<=4 print \"You slip and slide for some distance, winding up in a cave."
if x<=4 print \"The cave exit is east.":gosub random:x=x+(lu/5):goto cave.0
print \"You are at the bottom of a pit."
pitted
print \"You may (Y)ell for help, or try to (C)limb out."
print \"What do you do? ";:get i$
if i$<>"Y" print chr$(8);"Climb"
if i$="Y" print chr$(8);"Yell":goto pitted2
gosub random:x=x+(st/2)
if (x<=5) or (y=1) print "It's too slippery!":y=1:goto pitted
if x<=8 print "You don't have strength enough!":goto pitted
print \"You manage to climb out!!":xp=xp+4:return
pitted2
print \"H E L P ! ! !"
gosub random:x=x+(lu/5)
if x<=6 print \"No help arrives.":xp=xp-1:goto pitted
print \"A rope is lowered..."
if x<=3 goto goblins
print \"You are rescued by a woman who joins you.":wm=wm+1:return
night
print \"Night falls..."
if hp<10 gosub hurt.rest
print \"You go to sleep for the night..."
gosub random:x=x+(lu/5)
if x<=2 print \"You are suddenly awakened...":goto lg.monster
if x<=4 print \"You are suddenly awakened...":goto sm.monster
print \"You awake the next day rested and ready."
if hp<=25 then hp=hp+2
return
hurt.rest
print \"You are hurt. You must rest..."
hp=hp+2:if hp>30 hp=30
return
crypt
print \"You reach an overgrown graveyard."
print "The headstones bear strange runes."
print "In the middle there is a mausoleum..."
print \"Do you (E)nter the crypt or (L)eave? ";:get i$
if i$<>"L" print chr$(8);"Enter"
if i$="L" print chr$(8);"Leave":xp=xp+2:return
x$=rnd$:x=random(5):x=x+(lu/3)
if x<=3 goto lg.monster
if x<=5 goto sm.monster
print \"There is a coffin inside...will you open it? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" xp=xp-2:if lu>5 return
if i$<>"Y" print "It opens by itself!"
gosub random
if x<=1 gosub find.magic
if x<=2 gosub find.scroll
if x<=3 goto find.gold
if x<=8 print "Oh, no! A Zombie!":mn$="Zombie"
if x<=8 then mp=8:md=6:mx=10:gosub battle:return
print \"There is flash...oh, no! A vampire appears!"
mn$="Vampire":mp=17:md=8:mx=25:gosub battle:return
cave
x=random(100):x=x mod 13:print \"You come to a cave..."
cave.0
if x<=4 print \"Oh, no! This is a Troll's cave!"
if x<=4 mn$="Troll":mp=10:md=5:mx=10:gosub battle:return
if x<=6 print \"This cave is empty.":return
if x<=9 gosub find.gold:goto cave.1
if x<=10 gosub find.weapon:goto cave.1
if x<=11 gosub find.shield:goto cave.1
if x<=12 gosub find.magic:goto cave.1
cave.1
print \"The cave goes back some ways, then winds down into the darkness."
if not(ln) print "It is VERY dark down there. You could be eaten by a Grue!"
if (ln) print "Your lantern is lit..."
print \"Do you (C)ontinue down or (L)eave? ";:get i$
if i$="L" print chr$(8);"Leave":else print chr$(8);"Continue"
if ((i$="L") and (ln=0)) then xp=xp+5
if i$="L" print \"You retrace your steps and leave the cave.":return
if (ln=0) print \"You stumble down into the darkness...oh no! A GRUE!"
if (ln=0) mn$="The Dreaded Grue":mp=30:mx=30:md=6:gosub battle
if (ln=0) and (mp>0) print \"You run out of the cave.":return
if (ln=0) print \"You find the lantern of the Grue's last victim!":ln=1
print \"You continue down and enter a worked stone passage."
print "It splits in two directions."
cave.split
print \"Do you go (L)eft or (R)ight? ";:get i$
if i$="L" print chr$(8);"Left":goto cave.left
if i$="R" print chr$(8);"Right":goto cave.right
goto cave.split
cave.left
print \"The passage continues for twenty feet."
print "Suddenly the floor drops away! Ahhhh...."
if hp>1 then hp=hp-3
gosub hurt.rest: print \"You are at the bottom of the trap."
x$=rnd$:x=random(5):if x>=5 gosub find.gold
gosub random:if x<=4 gosub sm.monster
print \"There is an exit passage! You escape!":return
cave.right
print \"The passage curves and twists for fifty feet or so."
if og=1 print "You reach the Ogre's den again."
if og=1 print "The backdoor is still open, so you leave the cave.":return
print "You come to a large chamber, with furs and bags of gold lying about."
print "Oh, no! It's an Ogre's den!!!"
mn$="Ogre":mp=15:mx=15:md=6:og=1:gosub battle
if mp<1 gosub find.gold:gosub find.gold:gosub find.key
print \"You find a secret door! It leads out of the cave.":return
obelisk
print \"You find a Satyr Obelisk covered in writing."
print \"(R)ead it or (L)eave? ";:get i$
if i$="L" print chr$(8);"Leave":else print chr$(8);"Read it"
if i$="L" return
x$=rnd$:x=random(5):x=x+(lu/2)
if (x<=5) print \"Oh, no! This is a curse!"
if ((x<=5) and (st>2)) then st=st-1
if ((x<=5) and (ps>2)) then ps=ps-1
if (x<=3) print "You've conjured up a Zombie!"
if (x<=3) then mn$="Zombie":mp=8:md=4:mx=8:gosub battle:return
if (x<=5) return
print \"It is a prayer to the Satyr god, "sg$".":return
; *** FINDS
find.weapon
a$="weapon": link "a2:swords.2.aux2","find"
find.shield
a$="shield": link "a2:swords.2.aux2","find"
find.magic
a$="magic": link "a2:swords.2.aux2","find"
find.potion
if (po>0) return
a$="potion": link "a2:swords.2.aux2","find"
find.scroll
a$="scroll": link "a2:swords.2.aux2","find"
find.woman
a$="woman": link "a2:swords.2.aux2","find"
find.dryad
if (dr=1) return
a$="dryad": link "a2:swords.2.aux2","find"
find.lantern
if (ln=1) return
a$="lantern":link "a2:swords.2.aux2","find"
find.gold
x$=rnd$:x=random(15)
x=x+1:x=x+(lu/2)
print \"You find "x" bags of gold!"
gp=gp+x:return
find.key
if (ky) return
print \"Your eye is catches a glint of metal...";
print "You find a Golden Key!":ky=1:return
; end FINDS
towne
link "a2:swords.2.aux","towne"
castle
link "a2:swords.2.aux2","castle"
tower
if pr=1 return
link "a2:swords.2.aux2","tower"
; *** notes
; all calls to BATTLE must be GOSUBs, so that if a player dies in BATTLE,
; the resulting POP:GOTO DEAD doesn't POP MAIN off the stack. DEAD will
; take care of POPping MAIN.
battle
print \"The battle begins!":ba=1
print \"You and the "mn$" circle for position!"
who.first
gosub random:x=x+(st/5)
if x<=5 gosub monstermove:gosub playermove:goto who.first
gosub playermove:gosub monstermove:goto who.first
battlexit
ba=0:return
playermove
print \"Your move! ";
player0
print "Your options are:"
print \" F)lee"
if (s1+s2+s3) print " C)ast a Spell"
if (po) print " D)rink a Potion"
print " A)ttack Enemy with ";
if (wp) print wp$:else print "Bare Hands"
print \"What do you do? ";:get i$
if i$="F" print chr$(8);"Flee"
if i$="C" print chr$(8);"Cast a Spell"
if i$="D" print chr$(8);"Drink a Potion"
if i$="A" print chr$(8);"Attack Enemy"
if ((i$="F") and (hp>10)) then xp=xp-3:if xp<1 xp=1
if i$="F" gosub flee:print "You manage to escape!":pop:goto battlexit
if i$="C" gosub cast.spell:goto endplayermove
if i$="D" gosub drink.potion:goto endplayermove
if i$<>"A" print \\"Sorry, ";chr$(34);i$;chr$(34);" is invalid."\:goto player0
gosub random:print \"You attack with your ";
if (wp) print wp$:else print "Bare Hands"
print:x=x+(st/3):if wp=5 then x=x+1
if x<=5 print "You missed!":goto endplayermove
gosub random:x=x/5:x=x+wp:x=x+(st/5)
if not(info(2)) tone (100,50):tone (100,50): else print chr$(7);
print "You hit him for "x" damage!!!"
if (x>mp) then mp=0:else mp=mp-x
endplayermove
if (mp<1) then pop:print "You've finished the "mn$" off!!!!"
if (mp<1) then xp=xp+mx:gosub find.gold:goto battlexit
print "He has "mp" hit points now...":return
monstermove
print \"The "mn$" attacks!"
gosub random:x=x+(lu/5)
if x>5 print "The foul creature misses you!":return
print "A hit!! ";:if info(2) print chr$(7);chr$(7);: else tone (200,100)
y=5-x:x=random(100):x=x mod md:x=x+1:x=x+(y/2)
if sh>=x then x=1:else x=x-sh
if x>hp then hp=0:else hp=hp-x
if hp<1 print \\"You've had it!":pop:pop:ba=0:goto dead
if x<=2 print "Only a flesh wound...":goto endmonst
if x<=4 print "The wound is not bad...":goto endmonst
print "A vicious attack!"
endmonst
print "You have "hp" hit points now...":return
flee
gosub random:if x<7 return
print \"The "mn$" blocks your escape!":pop:goto endplayermove
; *** inventory
inventory
print \'
Stats:
Strength: 'st' Psyche: 'ps' Luck: 'lu'
Hit Points: 'hp' Experience Points: 'xp'
Inventory:'
if (wp) print " "wp$
if (sh) print " "sh$
if (po) print " "po$
if (ky) print " Golden Key"
if (ln) print " Lantern"
if (s1) or (s2) or (s3) print " Spells:"
if (s1) print " "s1$
if (s2) print " "s2$
if (s3) print " "s3$
if (pr) or (wm) or (dr) print " Companions:"
if (pr) print " The Princess"
if (dr) print " The Dryad Guide"
if (wm=1) print " 1 woman"
if (wm>1) print " "wm" women"
if (gp=0) print " No gold"
if (gp=1) print " 1 bag of gold"
if (gp>1) print " "gp" bags of gold"
print:return
; *** potions & spells
drink.potion
if not(po) print \"You aren't carrying a Potion!":return
print \"You are carrying: "po$
print \"Drink it now? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"You return the Potion to your pack.":return
print \"Gulp...gulp...gulp...";
if (po=1) print "ahh! How refreshing!":hp=hp+10
if ((po=1) and (hp>30)) then hp=30
if (po=2) print "ugh! Blah! Poison!":if hp>10 hp=hp-10
if ((po=2) and (hp<=10)) then hp=1
if (po=3) print "umm! How invigorating!":st=st+2
if ((po=3) and (st>10)) then st=10
if (po=4) print "ooh! How enlightening!":ps=ps+2
if ((po=4) and (ps>10)) then ps=10
if (po=5) print "nnnuh! You feel weak!":if st>2 st=st-2
if ((po=5) and (st<=2)) then st=1
if (po=6) print "duh? Duh? Yuk!":if ps>2 ps=ps-2
if ((po=6) and (ps<=2)) then ps=1
po$="":po=0:return
cast.spell
if not(s1+s2+s3) print \"You don't know any Spells!":return
print \"You may cast the following:"
if (s1) print "1) "s1$
if (s2) print "2) "s2$
if (s3) print "3) "s3$
print "4) Don't cast anything"
print \"Which shall you cast? ";:get i$
x=val(i$):if (x=0) or (x=4) goto cast.none
if (x=1) and not(s1) goto cast.none
if (x=2) and not(s2) goto cast.none
if (x=3) and not(s3) goto cast.none
if x=1 sc$=s1$:sc=s1:s1$="":s1=0
if x=2 sc$=s2$:sc=s2:s2$="":s2=0
if x=3 sc$=s3$:sc=s3:s3$="":s3=0
print chr$(8);sc$
spell.effects
gosub random:x=x+(ps/2)
if x<=4 print \"Spell failed!":return
print \"Spell succeeded!"
if (sc=1) print "You feel refreshed!":hp=hp+10:if hp>30 hp=30
if (sc=2) print "You feel invigorated!":st=st+2:if st>10 st=10
if (sc=3) print "You feel enlightened!":ps=ps+2:if ps>10 ps=10
if (sc=4) print "You feel luckier!":lu=lu+2:if lu>10 lu=10
if (sc=5) print "You are Teleported away!":if ba=1 then pop:pop:ba=0
if (sc=5) goto towne
if (sc=6) and (ba=0) print "Your Fireball shoots away, wasted!":return
if (sc=6) print "Your Fireball hits the "mn$"!!"
if (sc=6) and (mp>4) then mp=mp-5
if (sc=6) and (mp<5) then mp=0
return
cast.none
print chr$(8);"None":return
dryad.offended
print \"The Dryad is offended!"
print "She curses you and leaves.":dr=0
if lu>2 then lu=lu-2:else lu=1
if xp>10 then xp=xp-3:else xp=1
return
; seed random number generator and
; get a random number zero to nine
random
x$=rnd$:x=random(100):x=x mod 10:return
hall
close:f$="b4:s2.winners":open #1,f$
if mark(1) close:print \"No one has won the game here yet.":return
print '
______________________________
[_ _]
_] Swords & Sorcery II [_
[_ _]
_] Hall of Heroes [_
[______________________________]'\:copy #1:close:return